using Pay.TO;
using System;

namespace Pay.Data
{
    /// <summary>
    /// 消费商品表
    /// </summary>
    [Serializable]
    public class ConsumeProduct
    {
        /// <summary>
        /// 消费商品Id
        /// [主键：√]
        /// [长度：19]
        /// [不允许为空]
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 商品标题
        /// [长度：100]
        /// [不允许为空]
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 商品介绍
        /// [长度：500]
        /// </summary>
        public string Detail { get; set; }

        /// <summary>
        /// 图片Url
        /// [长度：200]
        /// [不允许为空]
        /// </summary>
        public string ImgUrl { get; set; }

        /// <summary>
        /// 兑换红钻数量 销售价* 兑换比例
        /// [长度：18，小数位数：6] 
        /// [不允许为空]
        /// </summary>
        public decimal RedDrill { get; set; }
        /// <summary>
        /// 销售价
        /// </summary>
        public decimal SalePrice { get; set; }
        /// <summary>
        /// 市场价
        /// </summary>
        public decimal MarketPrice { get; set; }
        /// <summary>
        /// 状态(1:正常,2:下架,3已售馨,4即将开放)
        /// [长度：10]
        /// [不允许为空]
        /// </summary>
        public EConsumeProductStatus Status { get; set; }

        /// <summary>
        /// 商品兑换剩余数量限制（为空则不限制）
        /// </summary>
        public int? ProductNumLimit { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }

        /// <summary>
        /// 允许开始兑换时间（为空则不限制）
        /// </summary>
        public DateTime? BeginTime { get; set; }

        /// <summary>
        /// 创建时间
        /// [长度：23，小数位数：3]
        /// [不允许为空]
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdateTime { get; set; }
    }
}
